package Util.Sort;

public class Sort {

	private SortStrategy strategy; 
	
	  /**
     *构造方法，由type决定由什么算法进行排序，排序方法的单词守字母要大字，如对于快速排序应该是quickSort
     *@param type 排序算法的类型
     */
     public Sort(String type)
     {
            try
            {
                   type = "Utils.Sort." + type.trim();
                   Class c = Class.forName(type);
                   strategy = (SortStrategy)c.newInstance();
            }
            catch (Exception e)
            {
                   e.printStackTrace();
            }            
     }
     
     /**
     *排序方法，要求待排序的数组必须实现Comparable接口
     */
     public void sort(Comparable[] obj)
     {
            strategy.sort(obj);
     }
}
